Data often needs to be written to and retrieved from a variety of data structures, such as text files, tables in a database, and the like. Access to data structures for writing data and reading data is often efficient for a single user. As the number of users, write requests, read requests, and the like increases, the response time of the system may become unsatisfactory. A variety of techniques have been designed to improve the performance of such accesses; however, the techniques often provide better performance for write requests at the expense of read requests and vice versa. In many instances, the conventional read and write techniques do not provide satisfactory performance.